package com.jumi.microservice.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jumi.microservice.domain.Department;
import com.jumi.microservice.domain.dto.DepartmentDTO;
import com.jumi.microservice.domain.vo.DepartmentVO;

import java.util.List;

/**
 * <p>
 * 部门表 服务类
 * </p>
 *
 * @author liuz
 * @since 2020-07-18
 */
public interface DepartmentService extends IService<Department> {
    /**
     * 新增一条部门表数据
     * @param vo
     */
    void insert(DepartmentDTO vo);

    /**
     * 删除部门信息
     * @param id
     */
    void delete(Long id);

    /**
     * 更新部门表数据
     * @param vo
     */
    void updateDepartment(DepartmentDTO vo);

    /**
     * 查询一条数据
     * @param id
     * @return
     */
    DepartmentDTO selectById(Long id);

    /**
     * 部门状态启用/停用
     * @param id
     * @param status
     */
    void enableStatus(Long id,Integer status);

    /**
     * 查询部门下的子部门
     * @param id
     * @return
     */
    List<DepartmentVO> selectSonDepartmentId(Long id);
}
